<?php
require ('classes/CaracterId.class.php');

class Login {
    //funcion que permite crear el teclado virtual
    public static function crearTeclado(){
        $caracterId = new CaracterId();
        $caracteres = $caracterId -> generarCaracteresAscii();        
        return $caracteres;
    }    
    
    //funcion que permite obtener solo los id's de las letras generadas
    public static function obtenerId($caracteres){
        return array_keys($caracteres);
    }
    
    //funcion que permite barajar los elementos de un array manteniendo sus indices
    public static function kshuffle(&$array) {
        if(!is_array($array) || empty($array)) {
            return false;
        }
        $tmp = array();
        foreach($array as $key => $value) {
            $tmp[] = array('k' => $key, 'v' => $value);
        }
        shuffle($tmp);
        $array = array();
        foreach($tmp as $entry) {
            $array[$entry['k']] = $entry['v'];
        }
        return true;
    }
    
    //Funcion que permite cambiar los indices de un array a los valores de 0,1,2,3,4....
    public static function mySort(&$array){
        if(!is_array($array) || empty($array)) {
            return false;
        }
        $tmp = array();
        foreach($array as $key => $value){
            $tmp[] = $value;
        }
        $array = array();
        foreach($tmp as $entry){
            $array[] = $entry;
        }
        return true;        
    }
    
    //funcion que indica que tipo de teclado se generara (QWERTY, AZERTY, QWERTZ)
    public static function tipoTeclado(){
    
        $a = 'QWERTY';
        $b = 'AZERTY';
        $c = 'QWERTZ';
        
        switch (rand(1,3)){
            case 1:
                return $a;
            break;
            case 2:
                return $b;
            break;
            case 3:
                return $c;
            break;
        }
    }
    
    

    
}
?>